package kr.co.doriclassic.chapter25test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class QuizServer {
	public static void main(String[] args) throws IOException {
		ServerSocket serverSocket = null;
		try {
			serverSocket = new ServerSocket(5555);
		} catch (IOException e) {
			System.err.println("다음 포트에 연결할 수 없습니다:5555");
			System.exit(1);
		}
		
		Socket clientSocket=null;
		try {
			clientSocket = serverSocket.accept();
		} catch (IOException e) {
			System.err.println("실패");
			System.exit(1);
		}
		
		PrintWriter out = new PrintWriter(clientSocket.getOutputStream(),true);
		BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
		
		String inputLine=null;
		String outputLine=null;
		
		QuizProtocol qp = new QuizProtocol();
		
		outputLine = qp.process(null);
		out.println(outputLine);
		
		while((inputLine=in.readLine())!=null){
			outputLine = qp.process(inputLine);
			out.println(outputLine);
			if(outputLine.equals("quit")){
				break;
			}
		}
		
		out.close();
		in.close();
		clientSocket.close();
		serverSocket.close();
	}
}
